op {
  graph_op_name: "Transpose"
  summary: "Shuffle dimensions of x according to a permutation."
  description: <<END
The output `y` has the same rank as `x`. The shapes of `x` and `y` satisfy:
  `y.shape[i] == x.shape[perm[i]] for i in [0, 1, ..., rank(x) - 1]`
END
}
